BigDecimal এর সাথে Addition, Subtraction, Multiplication, এবং Division

Java Technologies - জাভা ম্যাথ প্যাকেজ (Java.math Package) - BigDecimal এর সাথে Arithmetic Operations
199

BigDecimal ক্লাসটি java.math প্যাকেজের একটি ক্লাস যা বৃহত্তর দশমিক মান (floating point numbers) এবং অত্যন্ত নির্ভুল গণনার জন্য ব্যবহৃত হয়। এটি সাধারণ float বা double টাইপের চেয়ে বেশি নির্ভুল গণনা করে এবং এটি আর্থিক বা অন্যান্য হিসাবের জন্য উপযুক্ত।

এই নিবন্ধে আমরা BigDecimal এর সাথে Addition (যোগ), Subtraction (বিয়োগ), Multiplication (গুণ), এবং Division (ভাগ) কীভাবে করা যায় তা উদাহরণসহ আলোচনা করব।

BigDecimal এর সাথে Addition, Subtraction, Multiplication, এবং Division

BigDecimal ক্লাসের মাধ্যমে যেকোনো ধরনের গাণিতিক অপারেশন করার জন্য, add(), subtract(), multiply(), এবং divide() মেথড ব্যবহার করা হয়।

1. Addition (যোগ) using add()

BigDecimal এর add() মেথড দুটি BigDecimal সংখ্যা যোগ করতে ব্যবহৃত হয়।

Example: Addition using BigDecimal

import java.math.BigDecimal;

public class BigDecimalAddition {
    public static void main(String[] args) {
        // Create two BigDecimal objects
        BigDecimal num1 = new BigDecimal("123.45");
        BigDecimal num2 = new BigDecimal("678.90");

        // Add the two BigDecimal numbers
        BigDecimal result = num1.add(num2);

        // Print the result
        System.out.println("Sum: " + result);
    }
}

Output:

Sum: 802.35

Explanation:

  • add() মেথড দুটি BigDecimal সংখ্যা যোগ করে এবং ফলস্বরূপ একটি নতুন BigDecimal অবজেক্ট রিটার্ন করে।

2. Subtraction (বিয়োগ) using subtract()

BigDecimal এর subtract() মেথড দুটি BigDecimal সংখ্যা বিয়োগ করতে ব্যবহৃত হয়।

Example: Subtraction using BigDecimal

import java.math.BigDecimal;

public class BigDecimalSubtraction {
    public static void main(String[] args) {
        // Create two BigDecimal objects
        BigDecimal num1 = new BigDecimal("1000.50");
        BigDecimal num2 = new BigDecimal("250.25");

        // Subtract the second BigDecimal from the first
        BigDecimal result = num1.subtract(num2);

        // Print the result
        System.out.println("Difference: " + result);
    }
}

Output:

Difference: 750.25

Explanation:

  • subtract() মেথডটি দুটি BigDecimal সংখ্যা থেকে বিয়োগ করে এবং একটি নতুন BigDecimal রিটার্ন করে।

3. Multiplication (গুণ) using multiply()

BigDecimal এর multiply() মেথড দুটি BigDecimal সংখ্যা গুণ করতে ব্যবহৃত হয়।

Example: Multiplication using BigDecimal

import java.math.BigDecimal;

public class BigDecimalMultiplication {
    public static void main(String[] args) {
        // Create two BigDecimal objects
        BigDecimal num1 = new BigDecimal("50.25");
        BigDecimal num2 = new BigDecimal("2.5");

        // Multiply the two BigDecimal numbers
        BigDecimal result = num1.multiply(num2);

        // Print the result
        System.out.println("Product: " + result);
    }
}

Output:

Product: 125.625

Explanation:

  • multiply() মেথডটি দুটি BigDecimal সংখ্যা গুণ করে এবং একটি নতুন BigDecimal অবজেক্ট রিটার্ন করে।

4. Division (ভাগ) using divide()

BigDecimal এর divide() মেথড দুটি BigDecimal সংখ্যা ভাগ করতে ব্যবহৃত হয়। কিন্তু ভাগ করার সময় ArithmeticException এড়াতে আপনাকে একটি RoundingMode নির্ধারণ করতে হবে, কারণ কিছু ক্ষেত্রে ভাগফল একটি নির্দিষ্ট দশমিক স্থান পর্যন্ত রাউন্ডিং করা প্রয়োজন।

Example: Division using BigDecimal

import java.math.BigDecimal;
import java.math.RoundingMode;

public class BigDecimalDivision {
    public static void main(String[] args) {
        // Create two BigDecimal objects
        BigDecimal num1 = new BigDecimal("10");
        BigDecimal num2 = new BigDecimal("3");

        // Divide the two BigDecimal numbers with rounding
        BigDecimal result = num1.divide(num2, 2, RoundingMode.HALF_UP);

        // Print the result
        System.out.println("Quotient: " + result);
    }
}

Output:

Quotient: 3.33

Explanation:

  • divide() মেথডে RoundingMode.HALF_UP ব্যবহৃত হয়েছে, যাতে ভাগফল 3.33 পর্যন্ত রাউন্ডিং হয়।
  • divide() মেথডের তৃতীয় প্যারামিটার হিসেবে RoundingMode নির্দিষ্ট করা হয় যাতে দশমিক স্থান ঠিকভাবে রাউন্ড করা যায়।

Handling ArithmeticException in Division

যখন আপনি BigDecimal ভাগ করেন, তখন যদি আপনার ভাগফল একটি অসম্পূর্ণ দশমিক হয়, তাহলে ArithmeticException হতে পারে। এই ধরনের ক্ষেত্রে, RoundingMode নির্দিষ্ট করা অত্যন্ত গুরুত্বপূর্ণ।

Example: Division without RoundingMode and Handling Exception

import java.math.BigDecimal;

public class BigDecimalDivisionException {
    public static void main(String[] args) {
        try {
            // Create two BigDecimal objects
            BigDecimal num1 = new BigDecimal("10");
            BigDecimal num2 = new BigDecimal("3");

            // Division without specifying RoundingMode may throw ArithmeticException
            BigDecimal result = num1.divide(num2);

            // Print the result
            System.out.println("Quotient: " + result);
        } catch (ArithmeticException e) {
            System.out.println("Exception: " + e.getMessage());
        }
    }
}

Output:

Exception: Non-terminating decimal expansion; no exact representable decimal result.

Explanation:

  • যখন BigDecimal কে divide() করা হয় এবং রাউন্ডিং মোড নির্দিষ্ট করা না হয়, তখন এটি ArithmeticException ফেলে, যেহেতু ভাগফল একটি অসীম দশমিক সম্প্রসারণের কারণে সঠিকভাবে উপস্থাপন করা সম্ভব নয়।

  • BigDecimal ক্লাস ব্যবহার করে আপনি সঠিক এবং নির্ভুলভাবে বড় সংখ্যার গাণিতিক অপারেশন করতে পারেন। এটি Addition, Subtraction, Multiplication, এবং Division সহ অনেক ধরনের গাণিতিক অপারেশন সঠিকভাবে পরিচালনা করতে সাহায্য করে।
  • divide() মেথডে RoundingMode নির্ধারণ করে আপনি ভগ্নাংশ গণনার সময় রাউন্ডিং ঠিকভাবে করতে পারেন।
  • BigDecimal এর মাধ্যমে floating-point বা বৃহত্তর পূর্ণসংখ্যা গাণিতিক হিসাব অত্যন্ত নির্ভুলভাবে করা সম্ভব।

এই ধরনের গাণিতিক অপারেশন সাধারণত ফাইনান্সিয়াল এবং সায়েন্টিফিক ক্যালকুলেশন অ্যাপ্লিকেশনগুলোতে ব্যবহৃত হয় যেখানে নির্ভুলতা অত্যন্ত গুরুত্বপূর্ণ।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...